package team.kirohuji.dao;

import java.util.List;
import java.util.Map;

import team.kirohuji.domain.SystemRolePriority;

/**
 * 系統角色和菜单
 * 
 * @author kirohuji
 *
 */
public interface SystemRolePriorityDao extends BaseDao<SystemRolePriority> {

	/**
	 * 根据角色的Id获取菜单的Id列表
	 * 
	 * @param roleId
	 *            角色主键
	 * @return Integer列表
	 */
	List<Integer> queryMenuIdList(Integer roleId);

	/**
	 * 批量保存数据
	 * 
	 * @param map
	 *            void
	 */
	void saveBatch(Map<String, Object> map);

	/**
	 * 插入父权限
	 * 
	 * @param roleId
	 *            角色主键
	 * @param parentId
	 *            父权限主键
	 */
	void insertParentPriority(Integer roleId, Integer parentId);

	/**
	 * 插入子权限
	 * 
	 * @param roleId
	 *            角色主键
	 * @param nodePriorityId
	 *            子权限主键
	 */
	void insertNodePriority(Integer roleId, List<Integer> nodePriorityId);

	/**
	 * 删除父权限
	 * 
	 * @param roleId
	 *            角色主键
	 * @param parentId
	 *            父主键
	 */
	void deleteParentPriority(Integer roleId, Integer parentId);

	/**
	 * 删除子权限
	 * 
	 * @param roleId
	 *            角色主键
	 * @param parentId
	 *            父主键
	 */
	void deleteNodePriority(Integer roleId, Integer parentId);

}